package org.link.service;

import org.link.bean.User;
import org.link.dao.UserDao;

/**
 * 
 * project_name:forumweb
 * package_name:org.link.service
 * file_name:UserService.java
 * @author Link
 * create_date:2015年10月22日 下午3:04:21
 * modified_date:
 * description: 用户信息整合操作dao方法容器层
 *
 */
public class UserService {
	private UserDao userDao = new UserDao();
	
	/**
	 * 
	 * description: 管理员登录dao方法处理
	 * 2015年10月22日 下午3:06:12
	 * @author Link
	 * @param user
	 * @return
	 *
	 */
	public int managerLogin(User user){
		if(!userDao.checkEmailExist(user.getEmail())){
			return 1;	//返回1代表输入的用户名(邮箱)错误
		}else if(!userDao.checkPassCorrect(user.getEmail(), user.getPass())){
			return 2;	//返回2代表输入的密码错误
		}else{
			if(user.getIp()!=null){
				userDao.updateIp(user.getEmail(), user.getIp());
			}
		}
		return 0;//返回0代表用户名密码正确且已存储登录的ip
	}
	
	/**
	 * 
	 * description: 判断输入的用户邮箱是否已经被注册
	 * creatTime:2015年10月24日下午2:32:09
	 * @author Link
	 * return type: boolean
	 *
	 */
	public boolean checkUserNameExist(String name) {
		if(userDao.checkEmailExist(name)){
			return true;
		}else{
			return false;
		}
	}
	
	/**
	 * 
	 * description: 添加用户
	 * creatTime:2015年10月24日下午9:25:52
	 * @author Link
	 * return type: int
	 *
	 */
	public int addUser(String email,String pass){
		return userDao.addUser(email, pass);
	}
	
	/**
	 * 
	 * description: 用户邮箱激活
	 * creatTime:2015年10月24日下午10:29:03
	 * @author Link
	 * return type: int
	 *
	 */
	public int activeUser(String email){
		return userDao.activeUser(email);
	}
	
	/**
	 * 
	 * description: 判断驶入的用户名密码是否正确
	 * creatTime:2015年10月25日上午10:38:42
	 * @author Link
	 * return type: int
	 *
	 */
	public int checkUserEmailAndPass(String email,String pass){
		if(!userDao.checkEmailExist(email)){
			return 1;	//1代表邮箱不存在
		}else if(!userDao.checkPassCorrect(email, pass)){
			return 2;	//2表示密码错误
		}else{
			return 0;	//0表示用户名和密码正确
		}
	}
	
	/**
	 * 
	 * description: 用户登录后获取用户的信息并且update 用户的ip字段和online字段
	 * creatTime:2015年10月25日下午10:14:01
	 * @author Link
	 * return type: User
	 *
	 */
	public User userLoginInfo(String email,String pass,String ip){
		User user = userDao.queryUserInfo(email, pass);
		if(ip!=null){
			userDao.updateIp(email, ip);
		}
		return user;
	}
	
	/**
	 * 
	 * description:用户登出修改数据库参数online属性为0
	 * 2015年10月26日 下午4:54:32
	 * @author Link
	 * @param email
	 * @return
	 *
	 */
	public int userLoginOut(String email){
		return userDao.userLoginOut(email);
	}
}








